package cn.com.bluemoon.daps.common.constant;

/**
 * 服务名
 *
 * @author Jarod.Kong
 * @date 2020/12/18 11:14
 */
public final class ServiceNameConstants {
    /**
     * 定义项目版本
     */
    public static final String DAPS_VERSION = "v1.0";

    /**
     * 数据标准
     */
    public static class DapsApiStandard {
        public static final String PROD_SERVICE = "daps-standard-biz";
        // 在对应web应用中application.yml配置daps.feign.service.standard
        public static final String SERVICE = "${daps.feign.service.standard:" + DapsApiStandard.PROD_SERVICE + "}";
        public static final String BASE_URI = "/dap/" + DAPS_VERSION + "/standard";
        public static final String API_BASIC_STD = "/api/basicStd";
        public static final String API_INDEX_STD = "/api/indexStd";
        public static final String API_DIM_STD = "/api/dim";
        public static final String API_SYS_CATEGORY = "/api/sysCategory";
        public static final String API_SYS_STD_DATA_TYPE = "/api/stdDataType";
        public static final String API_SYS_BIZLINE = "/api/bizLine";

        private DapsApiStandard() {
        }
    }

    /**
     * 数据模型
     */
    public static class DapsApiModel {
        public static final String PROD_SERVICE = "daps-model-biz";
        // 在对应web应用中application.yml配置daps.feign.service.model
        public static final String SERVICE = "${daps.feign.service.model:" + DapsApiModel.PROD_SERVICE + "}";
        public static final String BASE_URI = "/dap/" + DAPS_VERSION + "/model";
        public static final String API_MODEL = "/api/model";
        public static final String API_MODEL_FIELD = "/api/modelField";
        public static final String API_MODEL_TABLE_INDEX = "/api/modelIndex";
        public static final String API_MODEL_TABLE_GROUP = "/api/modelGroup";
        public static final String API_MODEL_TABLE = "/api/modelTable";
        public static final String API_MODEL_RECORD = "/api/modeRecord";
        public static final String API_MODEL_STANDARD = "/api/modelStd";
        public static final String API_MODEL_TAG = "/api/tag";
        public static final String API_MODEL_USER_ACCREDIT = "/api/userAccredit";
        public static final String API_RENAME_RECORD = "/api/rename";
        public static final String API_MODEL_METADATA_MAPPING = "/api/modelMetadataMapping";

        private DapsApiModel() {
        }

    }

    public static class DapsApiNotice {
        public static final String PROD_SERVICE = "daps-notice-biz";
        public static final String SERVICE = "${daps.feign.service.notice:" + DapsApiNotice.PROD_SERVICE + "}";
        public static final String BASE_URI = "/dap/" + DAPS_VERSION + "/notice";

        public static final String API_NOTICE = "/api/handler";

        private DapsApiNotice() {
        }
    }

    /**
     * 资产系统
     */
    public static class DapsApiSystem {
        public static final String PROD_SERVICE = "daps-system-biz";
        // 在对应web应用中application.yml配置daps.feign.service.system
        public static final String SERVICE = "${daps.feign.service.system:" + DapsApiSystem.PROD_SERVICE + "}";
        public static final String BASE_URI = "/dap/" + DAPS_VERSION + "/system";
        public static final String API_SYSDEPT = "/api/sysDept";
        public static final String API_DATASOURCE = "/api/datasource";
        public static final String API_SYSINFO = "/api/sysInfo";
        public static final String API_SYS_TAG = "/api/tag";
        public static final String API_SYS_USER = "/api/sysUser";
        public static final String API_SYS_NOTICE = "/api/notice";
        public static final String API_CONFIG = "/api/config";
        public static final String API_SYS_LOG = "/api/sysLog";


        private DapsApiSystem() {
        }
    }

    public static class DapsApiSync {
        private DapsApiSync(){

        }

        public static final String PROD_SERVICE = "daps-sync-biz";
        // 在对应web应用中application.yml配置daps.feign.service.system
        public static final String SERVICE = "${daps.feign.service.sync:" + DapsApiSystem.PROD_SERVICE + "}";
        public static final String BASE_URI = "/dap/" + DAPS_VERSION + "/sync";
        // 工具接口-对比
        public static final String API_SYNC = "/api/util";
    }

    /**
     * 蓝数通&其他服务
     */
    public static class DapsApiDomp {
        public static final String WEBHOOK_SERVICE = "bd-webhook-service";
        public static final String FASTDFS_SERVICE = "bd-fastdfs-service";
        public static final String DOMP_SERVICE = "bd-domp-service";
        public static final String KAFKA_SERVICE = "bd-util-kafka";
        public static final String MAIL_SERVICE = "bd-util-mail";
        public static final String USER_SERVICE = "bd-service-user";

        private DapsApiDomp() {
        }
    }

}
